package com.yangyang.ralearn.common.entity.base;

import java.io.Serializable;
import java.util.Map;

import com.yangyang.ralearn.common.types.JType;

/**
 * 动作的限制(既已知动作的相关条件，包括参数名称类型，动作的前提数量，动作的正负效果数量）
 * 
 * @author yangyang
 * 
 */
public class ActionLimit implements Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = -7881812782025149320L;
	private String name;
	private Map<String, JType> mapVar2Type;
	private int preConditionCount;
	private int effectAddCount, effectDeleteCount;

	public ActionLimit(String name) {
		this.name = name;
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

	public Map<String, JType> getMapVar2Type() {
		return mapVar2Type;
	}

	public void setMapVar2Type(Map<String, JType> mapVar2Type) {
		this.mapVar2Type = mapVar2Type;
	}

	public int getPreConditionCount() {
		return preConditionCount;
	}

	public void setPreConditionCount(int preConditionCount) {
		this.preConditionCount = preConditionCount;
	}

	public int getEffectAddCount() {
		return effectAddCount;
	}

	public void setEffectAddCount(int effectAddCount) {
		this.effectAddCount = effectAddCount;
	}

	public int getEffectDeleteCount() {
		return effectDeleteCount;
	}

	public void setEffectDeleteCount(int effectDeleteCount) {
		this.effectDeleteCount = effectDeleteCount;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	@Override
	public String toString() {
		return "ActionLimit [name=" + name + ", mapVar2Type=" + mapVar2Type
				+ ", preConditionCount=" + preConditionCount
				+ ", effectAddCount=" + effectAddCount + ", effectDeleteCount="
				+ effectDeleteCount + "]";
	}

}
